Skip to content

fix(design-data): point the second duplicate relationship at the mobile token - #1572

Merged
GarthDB merged 5 commits into
mainfrom
fix/duplicate-relationship-mobile-token
Oct 31, 2026
Merged

GarthDB merged 5 commits into
mainfrom
fix/duplicate-relationship-mobile-token

Conversation

@GarthDB

@GarthDB GarthDB commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

Description

103 relationship records in 17 components referenced the desktop token twice, so the mobile token was never reachable through the relationship. The second record of each pair now references the token with the same name and the mobile scale.

Components: accordion, combo-box, date-picker, drop-zone, list-view, menu, number-field, picker, search-field, segmented-control, side-navigation, tag, tag-field, text-area, text-field, tooltip and tree-view.

Related Issue

Tracked in bead spectrum-design-data-p6ga.9 (split of #1569 into reviewable PRs). The data fix came out of visual rendering work, where the mobile bindings were unreachable.

Motivation and Context

To keep it from regressing, this PR also adds SPEC-072 (relationship-duplicate-ref-scale-counterpart, a Layer 2 warning, cherry-picked from the visual recipes branch #1569): two relationship records with the same scope, context and $ref where the token has a scale counterpart. It has a conformance fixture and a unit test. The current data has no such duplicates after the repoint, and the rule fires on the pre-fix text-area data. The rule ID is SPEC-072 so it matches #1569; IDs SPEC-060 to 071 arrive with that work.

Changesets: a patch for @adobe/spectrum-design-data (the data) and a patch for @adobe/design-data-spec and @adobe/design-data-wasm (the rule). Changesets lists 10 packages because updateInternalDependencies is patch and these are workspace dependents of the data package: seven depend on it directly, and @adobe/spectrum-design-data-mcp and component-options-editor depend on it through other workspace packages. fixed and linked are empty in .changeset/config.json.

Without the fix, a mobile render or lookup through these relationships returns the desktop token. This is independent of the visual recipes work, so it goes to main now. It adds a patch changeset for @adobe/spectrum-design-data.

How Has This Been Tested?

Added cargo test -p design-data-core (811 pass, including the SPEC-072 test), cargo clippy -D warnings and cargo fmt --check, and moon run sdk:test sdk:codegen-check design-data:validate design-data:validate-dataset with no SPEC-072 warnings on current data. Earlier: moon run design-data:validate design-data:legacy-output tokens:verifyLegacyOutput tokens:test passes on a branch from origin/main, with no golden or legacy-output diffs. The SPEC-054 warnings in design-data:validate were already there (qkj5.55). Also ran the changeset linter with --fail-on-warnings, pnpm ai:check, and confirmed git diff pnpm-lock.yaml is empty.

Screenshots (if appropriate):

N/A

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have signed the Adobe Open Source CLA.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

test added 2 commits October 31, 2026 13:05
…le token

103 relationship records in 17 components referenced the desktop token twice, so the mobile
token was never reachable through the relationship. The second record of each pair now
references the token with the same name and the mobile scale.
@changeset-bot

changeset-bot Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 71096ff

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 14 packages
Name Type
@adobe/spectrum-design-data Patch
@adobe/design-data-spec Patch
@adobe/design-data-wasm Patch
@adobe/spectrum-component-api-schemas Patch
@adobe/design-system-registry Patch
@adobe/design-data-agent-mcp Patch
@adobe/design-data-mcp Patch
markdown-generator Patch
@adobe/token-corpus-migrate Patch
@adobe/token-naming-audit Patch
@adobe/design-data Patch
s2-tokens-viewer Patch
@adobe/spectrum-design-data-mcp Patch
component-options-editor Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

Copy link
Copy Markdown
Contributor

🧩 Component Schema Changes Report

No component schema changes detected.

This comment was automatically generated by the component schema diff tool. 🤖

@github-actions

Copy link
Copy Markdown
Contributor

🎨 Token Changes Report

Tokens Changed (0)

Original Branch: main


This comment was automatically generated by the token diff tool. 🤖

@github-actions

github-actions Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Run report for 71096fff

Total time: 2m 52s | Comparison time: 6m 41s | Estimated savings: 3m 49s (57.2% faster)

Action Time Status Info
⬛️ SetupProto(0.57.4) 0ms Skipped
🟩 SyncWorkspace 8.4ms Passed
🟩 SyncProject(sdk) 0.4ms Passed
🟩 SyncProject(design-data-spec) 0.9ms Passed
🟩 SyncProject(design-data) 0.7ms Passed
⬛️ SetupToolchain(node:20.17.0) 540.5ms Skipped
⬛️ SetupToolchain(pnpm:10.17.1) 368.7ms Skipped
⬛️ SetupToolchain(javascript) 0ms Skipped
🟩 SetupEnvironment(javascript) 0.6ms Passed
⬛️ SetupEnvironment(javascript, sdk) 0.7ms Skipped
⬛️ InstallDependencies(javascript) 0.1ms Skipped
⬛️ SetupToolchain(rust:1.88.0) 970.8ms Skipped
🟩 SetupEnvironment(rust, sdk) 109.1ms Passed
⬛️ InstallDependencies(rust, sdk) 2.4ms Skipped
🟩 RunTask(design-data:validate-registry) 195.3ms Passed
🟩 RunTask(sdk:fmt-check) 707.9ms Passed
🟩 InstallDependencies(javascript, sdk) 6.6s Passed
🟩 RunTask(sdk:codegen-check) 114.2ms Passed
🟩 RunTask(sdk:lint) 48.6s Passed
🟩 RunTask(sdk:build) 1m 29s Passed
And 5 more...
Expanded report
Action Time Status Info
🟩 RunTask(design-data:legacy-output) 846.3ms Passed
🟩 RunTask(design-data:validate-dataset) 18s Passed
🟩 RunTask(sdk:test-doc) 2m Passed SLOW
🟩 RunTask(design-data:validate) 19.1s Passed
🟩 RunTask(sdk:test) 2m 44s Passed SLOW
Changed files
.changeset/repoint-duplicate-relationships.md
.changeset/spec-072-duplicate-relationship-ref.md
packages/design-data-spec/conformance/invalid/SPEC-072/dataset.json
packages/design-data-spec/conformance/invalid/SPEC-072/expected-errors.json
packages/design-data-spec/rules/rules.yaml
packages/design-data/relationships/accordion.json
packages/design-data/relationships/combo-box.json
packages/design-data/relationships/date-picker.json
packages/design-data/relationships/drop-zone.json
packages/design-data/relationships/list-view.json
packages/design-data/relationships/menu.json
packages/design-data/relationships/number-field.json
packages/design-data/relationships/picker.json
packages/design-data/relationships/search-field.json
packages/design-data/relationships/segmented-control.json
packages/design-data/relationships/side-navigation.json
packages/design-data/relationships/tag-field.json
packages/design-data/relationships/tag.json
packages/design-data/relationships/text-area.json
packages/design-data/relationships/text-field.json
packages/design-data/relationships/tooltip.json
packages/design-data/relationships/tree-view.json
sdk/core/src/validate/rules/mod.rs
sdk/core/src/validate/rules/spec072.rs

GarthDB and others added 3 commits October 31, 2026 13:28
…e counterpart

Two relationship records with the same scope, context and $ref where the token has a scale
counterpart leave the other scale's token unreachable. The rule is a warning; the current
data has none after the repoint, and it fires on the pre-fix text-area data.
…e-token' into fix/duplicate-relationship-mobile-token
@GarthDB
GarthDB merged commit a60aeea into main Oct 31, 2026
9 checks passed
@GarthDB
GarthDB deleted the fix/duplicate-relationship-mobile-token branch October 31, 2026 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant